package cn.fenglaicaimi.controller;

import cn.fenglaicaimi.base.domain.ButtonVo;
import cn.fenglaicaimi.util.AccessTokenUtil;
import cn.fenglaicaimi.util.HttpUtil;
import cn.fenglaicaimi.util.UrlUtil;
import com.alibaba.fastjson.JSON;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;

@Controller
public class MenuController {
    @Value("${wechat.appID}")
    private String appid;
    @Value("${wechat.indexUrl}")
    private String preIndex;

    @RequestMapping("menu")
    @ResponseBody
    public String menu() {
        List<ButtonVo> buttonVos = new ArrayList<ButtonVo>();
        //第一个一级按钮
        ButtonVo buttonVo1 = new ButtonVo();
        buttonVo1.setType("click");
        buttonVo1.setName("今日歌曲");
        buttonVo1.setKey("V1001_TODAY_MUSIC");

        //第二个一级按钮
        ButtonVo buttonVo2 = new ButtonVo();
        buttonVo2.setName("菜单");
        List<ButtonVo> sub_button = new ArrayList<ButtonVo>();
        //第二个一级按钮的第一个子按钮
        ButtonVo buttonVo21 = new ButtonVo();
        buttonVo21.setType("view");
        buttonVo21.setName("搜索");
        String index = preIndex + "/oauth";
        buttonVo21.setUrl("https://open.weixin.qq.com/connect/oauth2/authorize?appid=" + appid + "&redirect_uri=" + index + "&response_type=code&scope=snsapi_userinfo#wechat_redirect");
        sub_button.add(buttonVo21);

        //第二个一级按钮的第二个子按钮
        ButtonVo buttonVo22 = new ButtonVo();
        buttonVo22.setType("click");
        buttonVo22.setName("赞一下我们");
        buttonVo22.setKey("V1001_GOOD");
        sub_button.add(buttonVo22);
        buttonVo2.setSub_button(sub_button);

        //第二个一级按钮的第三个子按钮
        ButtonVo buttonVo23 = new ButtonVo();
        buttonVo23.setType("view");
        buttonVo23.setName("蜂来采蜜");
        index = preIndex+"/store";
        buttonVo23.setUrl(index);
        sub_button.add(buttonVo23);

        //第二个一级按钮的第四个子按钮
        ButtonVo buttonVo24 = new ButtonVo();
        buttonVo24.setType("view");
        buttonVo24.setName("测试");
        index = preIndex+"/main";
        buttonVo24.setUrl(index);
        sub_button.add(buttonVo24);

        buttonVos.add(buttonVo1);
        buttonVos.add(buttonVo2);

        HashMap<String, List<ButtonVo>> buttonMap = new HashMap<String, List<ButtonVo>>();
        buttonMap.put("button", buttonVos);

        String buttonUrl = UrlUtil.MENU_CREATE_URL + "?access_token=" + AccessTokenUtil.getAccessTokenVo().getAccess_token();
        String ret = HttpUtil.post(buttonUrl, JSON.toJSONString(buttonMap));

        return ret;
    }
}
